/**
 * @Author: Jiang Zhongxun
 * @Date: 2024-10-07 19:17:36
 * @FilePath: /Socket/practiceProject/include/client/userOpt.h
 * @Description: 普通用户前台操作
 * @Copyright (c) 2024 by 蒋仲勋, All Rights Reserved.
 */
#ifndef _USEROPT_H_
#define _USEROPT_H_

#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <netinet/in.h>
#include <pthread.h>
#include <sqlite3.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/un.h>
#include <sys/wait.h>
#include <unistd.h>

/**
 * @description: 普通用户客户端通信
 * @param {int} sockfd 套接字
 * @return {*} 成功返回0，失败返回-1
 */
int userTcpClientCom(int sockfd, char *userName);

/**
 * @description: 解析字符串函数，将输入的字符串按照特定规则解析，并将结果存入指定数组
 *               本函数的主要作用是解析一个字符数组(allbuf)，并将解析的结果存入另一个字符指针数组(result)。
 *               解析的规则是，当遇到'@'字符时，将其后面的字符串作为下一个解析出来的字符串。
 * @param {char} allbuf 输入的字符数组，包含待解析的字符串
 * @param {char} *result 输出的字符指针数组，用于存放解析后的各个字符串
 * @return {*} 返回值，0表示成功，-1表示失败(通常是因为输入参数为NULL)
 */
int parseStringUtil(char allbuf[], char *result[]);

#endif
